#include<stdio.h>
/*
 * 用指针遍历二维数组
 */

int main()
{
	int arr[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
	int (*p)[4] = arr;
	for(int i=0; i<3; i++){
		for(int j=0; j<4; j++){
			// *(*(p+i)+j) 用来表示arr[i][j]的值。p+i表示第i行首地址，*(p+i)表示第i行地址对应的数组a[i],*(p+i)+j 表示i行j列地址，*(*(p+i)+j)表示i行j列地址对应的数据。
			// p+i 又叫行指针， *(p+i)+j 或 arr[i]+j 又叫列指针。	
			printf("%d\t", *(*(p+i)+j)); 
		} 
		printf("\n");
	} 
	return 0;
}
